class Solution 
{
    public int[] plusOne(int[] digits) 
    {
        if(digits[digits.length-1]!=9)
        {
        	digits[digits.length-1]++;
        	return digits;
        }
        else
        {
        	digits[digits.length-1]=digits[digits.length-1]+1-10;
        	
        	int flag=1;
        	
    		for(int i=digits.length-2;i>=0;--i)
    		{
    			digits[i]+=(flag);
    			if(digits[i]>=10)
    			{
    				digits[i]-=10;
    				flag=1;
    			}
    			else
    			{
    				flag=0;
    				break;
    			}
    		}
    		
    		if(flag==1)
    		{
    			int[] result=new int[digits.length+1];
    			result[0]=1;
    			System.arraycopy(digits, 0, result, 1, digits.length);
    			return result;
    		}
    		else
    		{
    			return digits;
    		}
        }
    }
}

public class test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] a={1,9};
		int[] b=new Solution().plusOne(a);
		for(int i=0;i<b.length;++i)
		{
			System.out.println(b[i]+"\t");
		}
		
	}
}